home *** CD-ROM | disk | FTP | other *** search
/ Resource Library: Multimedia / Resource Library: Multimedia.iso / hypertxt / msdos / hs25 / hshell.doc < prev    next >
Text File  |  1989-05-10  |  40KB  |  1,454 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.         
  9.  
  10.  
  11.                HyperShell Hypertext control system
  12.                    Version 2.5
  13.  
  14.             Product Description and Shareware notice
  15.  
  16.              Copyright (c) 1988,1989 Text Technology
  17.  
  18.         
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.     Text Technology
  32.     66 Kennedy Avenue
  33.     Macclesfield
  34.     Cheshire
  35.     England
  36.     SK10 3DE
  37.  
  38.         
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.                       - 1 -
  63.         
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.                     Chapter 1
  80.  
  81.                   Introduction
  82.  
  83.  
  84.  
  85.  
  86.     1.1 Product description
  87.  
  88.  
  89.     HyperShell  is    a  Shareware   product     designed  to  fill  the
  90.     requirement for a fast text based hypertext system at low cost. 
  91.     Not  only  does  it  provide a sophisticated hypertext    browsing
  92.     system, but also includes  menuing facilities and DOS management
  93.     facilities, and a whole host of  extras  designed  to  support a
  94.     wide  range  of  applications.     As  such  it can be used as the
  95.     front-end to a set of programs, and can provide most things that
  96.     such a system would require, including help facilities, menuing,
  97.     password entry,  directory navigation, form fill facilities, and
  98.     file  I/O. It is a very versatile system  containing  a  concise
  99.     scripting language, and  provides  the    power  of  a  high level
  100.     language interpreter.  HyperShell provides  the  facilities with
  101.     which a custom interaction and presentation style can  be easily
  102.     created, and does not force a particular style upon the author. 
  103.  
  104.     Where  other  hypertext systems have attempted to do  everything
  105.     themselves,  HyperShell  takes    the  approach  of  allowing OPEN
  106.     extensibility in a simple and easy fashion.  An example would be
  107.     to  display graphic images in support  of  the    text.    This  is
  108.     easily    catered  for  by providing a simple program  to  do  the
  109.     display for you, such as the 'EXP -c' program provided.  This is
  110.     simply invoked from HyperShell when  required.    Further programs
  111.     could easily be written to provide iconic menus, dialogue boxes,
  112.     buttons etc.   as well as Voice output, music, and stupid noises
  113.     as provided by other hypertext systems. 
  114.  
  115.  
  116.  
  117.  
  118.     1.2 Hypertext
  119.  
  120.  
  121.     HyperShell is a Hypertext  system.   Hypertext systems have been
  122.     around since the early 60's, but  until  recently  they have not
  123.     been available on personal computers.  A number of systems  have
  124.     started  appearing  on the more popular personal computers,  and
  125.  
  126.  
  127.  
  128.                       - 2 -
  129.         
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.     HyperShell          Introduction           Product notes
  138.         
  139.  
  140.  
  141.     certain  manufacturers have put a lot of commitment  behind  the
  142.     concept.   In  spite  of  its long history,  Hypertext    has  not
  143.     evolved a  standard  format  for  the  databases  upon which the
  144.     systems are based.  Most recent Hypertext systems have supported
  145.     both text  and    graphics,  and    due  to the rather heavy storage
  146.     requirements  of  graphic images,  their  performance  has  been
  147.     somewhat less than optimal, and their disk storage  requirements
  148.     have been rather large.  This has not helped  the  acceptance of
  149.     Hypertext as a powerful means of  browsing  text.  A purely text
  150.     based  approach, still utilising popup menus, windows and  mouse
  151.     selection, can provide the speed and  economy  of  data  storage
  152.     required  for  acceptable  use.   HyperShell   provides  such  a
  153.     facility. 
  154.  
  155.     So what is Hypertext? For thousands of years,  man  has used the
  156.     written  word  to convey his message to others.  This has  taken
  157.     the form of  linear text in, for instance, a book.  Hypertext is
  158.     an   attempt   to  apply  the  modern  technology  provided   by
  159.     interactive computers to the  presentation  of    information in a
  160.     non-linear  form.   When  we  are  reading  a novel, we are  not
  161.     concerned with anything other than the linear approach.  When we
  162.     are reading a reference book or  a  tutorial  book,  however, we
  163.     look  things  up  in a contents list or  an  index,  and  follow
  164.     references in certain parts  of  that book to other chapters, or
  165.     even  other books.  Hypertext is therefore intended to    replace,
  166.     or support, this type of literature. 
  167.  
  168.     Hypertext  provides  the means to follow references in the text,
  169.     without  worrying  about  'losing  your  place'  due to lack  of
  170.     fingers, pencils and slips of paper to mark pages on the way  to
  171.     following up a reference.  Not only does the  computer have lots
  172.     of fingers, it also  gets  the    books down off the shelf for you
  173.     and looks up the reference.  The 'Hyper' in Hypertext means that
  174.     you get more than just convenience extra.  How would you like to
  175.     search through every page of a    book  looking  for  a particular
  176.     word?  Computers are  pretty  good at this kind of thing, so can
  177.     do this in a fraction of the time it would take you.   Hypertext
  178.     provides even more than  this,    and  contains  some surprisingly
  179.     advanced features. 
  180.  
  181.     A description of what Hypertext provides cannot  do full justice
  182.     to the concept, and it    is suggested you 'give it a try' to find
  183.     out just what it does provide, and the ease with which it can be
  184.     used. 
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.                        1-3             Version 2.5
  195.         
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.     HyperShell          Introduction           Product notes
  204.         
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.     1.3 HyperShell
  212.  
  213.  
  214.     HyperShell is an attempt to make  hypertext available at minimal
  215.     cost  to  the  general PC user.  By providing menu systems,  DOS
  216.     control and a comprehensive  set  of building blocks, HyperShell
  217.     can  be  used  for  many  more    application areas than    previous
  218.     systems. 
  219.  
  220.     HyperShell also provides an  extension    to the Hypertext concept
  221.     by removing the  requirement to always use a specially formatted
  222.     text  file.   By  loading  a  HyperShell  reference  file  on  a
  223.     particular  subject,  for instance MSDOS commands, you can  then
  224.     browse    through ANY text file containing the  odd  reference  to
  225.     MSDOS commands.  When a  command  is  within the section of text
  226.     displayed on the screen, that command  is highlighted as a frame
  227.     reference, and can be selected to display a frame giving details
  228.     of that command, and permitting full reference following to take
  229.     place, before returning to browsing through the text file. 
  230.  
  231.     As  well  as  providing  a  basic  Hypertext system,  HyperShell
  232.     provides the kind of facilities you expect to find  in    a 'Menu'
  233.     system.   Not  only  can  you select programs to run, by use  of
  234.     menus, but you can  also kick off a DOS 'shell' to execute a few
  235.     commands from the command line, and  return to the same position
  236.     in HyperShell.
  237.  
  238.     The fact that HyperShell  does    not impose a fixed screen format
  239.     on you is of  great  benefit  to  those  using HyperShell as the
  240.     front-end  to  their own systems.  As HyperShell provides  input
  241.     fields, popup menus and windows, you  can in fact use HyperShell
  242.     to 'prototype' the appearance of a system, which can be of great
  243.     benefit to those developing applications software, as it  allows
  244.     you to try out various layouts and interaction styles before you
  245.     do all the hard work of writing the software. 
  246.  
  247.     HyperShell reference files (known as hyperfiles) have a notation
  248.     which can be readily  understood,  whilst  providing a degree of
  249.     conciseness in the more powerful areas that is far preferable to
  250.     the  excessive verbosity of some of the scripting languages used
  251.     by other Hypertext systems.  Extensive parsing has been  avoided
  252.     for  performance and space reasons,  and  because  it  does  not
  253.     provide as much as  it    costs.     In recognition of the fact that
  254.     not  everybody    takes  to  such   terse  and  at  times  cryptic
  255.     languages, an interactive 'authoring' system is available, which
  256.     allows    you  to  edit  the  hyperfiles    using  an   editor  that
  257.  
  258.  
  259.  
  260.                        1-4             Version 2.5
  261.         
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.     HyperShell          Introduction           Product notes
  270.         
  271.  
  272.  
  273.     understands the format of them. 
  274.  
  275.  
  276.  
  277.  
  278.     1.4 Features
  279.  
  280.  
  281.     Release  2.5  is  the third public release  of    HyperShell.  The
  282.     product  supplied  as  shareware is the full system, and is  not
  283.     restricted in any way.    Release 2.5 provides these features:-
  284.  
  285.       -  Hypertext based on one or more hypertext files. 
  286.  
  287.       -  Text based hypertext  file,  allowing  editing  with normal
  288.          editors  and  word  processors,  and  permitting  use  with
  289.          general text processing utilities. 
  290.  
  291.       -   Command  execution  via  DOS command processor and  direct
  292.          execution,  and  support of DOS 'shell escape'.  Access  to
  293.          exit  status of executed programs.  Ability to specify  own
  294.          exit status for use in batch files. 
  295.  
  296.       -  Automatic referencing when browsing any text file. 
  297.  
  298.       -  Mouse or keyboard driven (or both!). 
  299.  
  300.       -  Configurable highlighting colour scheme. 
  301.  
  302.       -  Full knowledge of    'where you are' via backtrack list, with
  303.          single step  backtracking and direct multistep backtracking
  304.          to  a selected frame.   Direct  movement  to  'home'  frame
  305.          available by default. 
  306.  
  307.       -  Display of the  current  hyperfile  contents list, allowing
  308.          selection of any frame in the hyperfile. 
  309.  
  310.       -  Automatically sized  popup 'notes' in support of main frame
  311.          text, and    permitting  further  references  to  be followed
  312.          therefrom. 
  313.  
  314.       -  Popup 'menus' to allow choice of references. 
  315.  
  316.       -  Input fields with specified trigger actions. 
  317.  
  318.       -   Command  chaining  (with    no  return  to    HyperShell),  if
  319.          required. 
  320.  
  321.       -   Set of control actions available through direct  reference
  322.          selection, menu  selection,  mapped  keystroke,  script  or
  323.  
  324.  
  325.  
  326.                        1-5             Version 2.5
  327.         
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.     HyperShell          Introduction           Product notes
  336.         
  337.  
  338.  
  339.          direct request. 
  340.  
  341.       -  Extended  action  modification  via  menus, prompted input,
  342.          file input,  integer  expression  evaluation  and    variable
  343.          expansion.  Resulting value can be optionally formatted via
  344.          a pattern string. 
  345.  
  346.       -  Menus  'dynamically'  formed  from  directory listing, file
  347.          contents etc. 
  348.  
  349.       -   Variable    setting and expansion within actions and  within
  350.          text displays. 
  351.  
  352.       -  Expansion of HyperShell system variables within actions and
  353.          text displays. 
  354.  
  355.       -  Control of runtime options.  Display of option settings. 
  356.  
  357.       -   Key  mapping  to    actions  and  references  in frame text,
  358.          including function keys with all three shifts. 
  359.  
  360.       -  Configurable control menu. 
  361.  
  362.       -  Help facility supplied as part of hyperfile by convention -
  363.          can be extended by use of separate hyperfile  dedicated  to
  364.          providing help or tutorial material. 
  365.  
  366.       -  Directory system navigation with file type recognition. 
  367.  
  368.       -  Formatted and unformatted file input and output. 
  369.  
  370.       -  Screen save facility to retain screen contents on entry for
  371.          redisplay on exit. 
  372.  
  373.       -    Reference  'notepad'  with  optional  retention     between
  374.          sessions, and browsing selection. 
  375.  
  376.       -   Dedicated  editor  for  the  creation  and maintenance  of
  377.          hyperfiles,   incorporating  interactive  assistance   with
  378.          action building and interpreting. 
  379.  
  380.       -   Extensive  reference  checking  utility,    which    provides
  381.          autogeneration  and  embedded  messages  for   use  by  the
  382.          editor. 
  383.  
  384.       -   Formatted print utility to permit file to be listed  in  a
  385.          form suitable  for  reading.   Also supports extended modes
  386.          for authors use, with  full  reference  listings and sorted
  387.          index for cross references.   Uses  Epson printer codes for
  388.          highlighting, or can use plain printer. 
  389.  
  390.  
  391.  
  392.                        1-6             Version 2.5
  393.         
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.     HyperShell          Introduction           Product notes
  402.         
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.     1.5 Potential uses
  410.  
  411.  
  412.     HyperShell can be used for a  number  of  applications,  amongst
  413.     which are the following:-
  414.  
  415.       -  Conventional Hypertext system. 
  416.  
  417.       -  Help system. 
  418.  
  419.       -  Computer aided instruction. 
  420.  
  421.       -  Simple expert system using decision trees. 
  422.  
  423.       -  Menu driven front end to multi program application. 
  424.  
  425.       -  Simple applications user interface prototyping. 
  426.  
  427.       -  Intelligent text file browser. 
  428.  
  429.       -  Directory structure browser / DOS manager. 
  430.  
  431.       -  Any combination of these. 
  432.  
  433.  
  434.  
  435.  
  436.     1.6 Design aims
  437.  
  438.  
  439.     HyperShell has been designed with the following goals in mind:-
  440.  
  441.     Speed  of  execution  reasonable  and  independant  of hyperfile
  442.     size. 
  443.  
  444.     Minimal memory occupancy  for  when HyperShell used as a menuing
  445.     system. 
  446.  
  447.     Text based hyperfile to facilitate production and maintenance of
  448.     material. 
  449.  
  450.     Primary usage as hypertext, with secondary emphasis on    menuing,
  451.     DOS  management,  text     file    viewing   and    user   interface
  452.     prototyping. 
  453.  
  454.  
  455.  
  456.  
  457.  
  458.                        1-7             Version 2.5
  459.         
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.     HyperShell          Introduction           Product notes
  468.         
  469.  
  470.  
  471.     Complexity   of   specification   related   to     complexity   of
  472.     functionality - simple hyperfiles are easy to specify. 
  473.  
  474.     We believe in small but powerful programs, and programs that  do
  475.     not  need  overlays  or  extensive runtime configuration files. 
  476.     Other programs adopting this  philosophy include Qedit, which is
  477.     highly recommended as a general text editor. 
  478.  
  479.  
  480.  
  481.  
  482.     1.7 Release 2.5
  483.  
  484.  
  485.     1.7.1 Enhancements
  486.  
  487.     Release 2.5 of HyperShell brings a  very  much    improved editor,
  488.     with many changes aimed at making the editor  quicker and easier
  489.     to use.  In particular, frames and local items can be added with
  490.     one key stroke, and  a    new  'explain'    feature interprets those
  491.     cryptic action strings into a more intelligible form. 
  492.  
  493.     The   editor  key  macro  facility  now  uses  the  ALT  shifted
  494.     alphabetic keys, to free the  function keys for editing commands
  495.     and TSR hotkeys. 
  496.  
  497.     A  graphic  character  map  with  character  select  feature  is
  498.     available. 
  499.  
  500.     A view mode has been added to permit items to be viewed  without
  501.     editing. 
  502.  
  503.     The item list editing has been changed to improve program flow. 
  504.  
  505.     The frame display now includes the  header  and footer text, and
  506.     supports direct viewing, editing,  checking  and  explaining  of
  507.     references. 
  508.  
  509.     The HyperShell browser has been enhanced in a number of ways:-
  510.  
  511.     Notes are now automatically sized, and    can  be up to 76 columns
  512.     by 22 lines in size. 
  513.  
  514.     A file can now be used to supply the contents of a popup  note. 
  515.     This  feature can be used with the normal  HyperShell  hyperfile
  516.     structure,  and  with  the  alternative   file    based  hypertext
  517.     structure,  for which improvements have been made in  the  paged
  518.     display for typed files.   File  notes    can  be  used  whereever
  519.     normal notes can. 
  520.  
  521.  
  522.  
  523.  
  524.                        1-8             Version 2.5
  525.         
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.     HyperShell          Introduction           Product notes
  534.         
  535.  
  536.  
  537.     Option flags can now be toggled. 
  538.  
  539.     Input  fields  for  forms  are better supported,  with    a  width
  540.     specification, an  immediate  reference capability and an action
  541.     to select the next input field. 
  542.  
  543.     A  system  variable  is  now available    to  give  the  remaining
  544.     memory. 
  545.  
  546.     Paged displays    now  permit the use of function keys in a manner
  547.     consistant  with  the frame display, and  support  bidirectional
  548.     paging in many    cases.     Other    improvements  have  been made to
  549.     paged display processing. 
  550.  
  551.     DOS commands can now be run 'silently'    without  disturbing  the
  552.     display. 
  553.  
  554.     The  condition    codes  are  now set  by  the  evaluation  of  an
  555.     expression. 
  556.  
  557.     The END key can be used from a frame display to toggle the saved
  558.     screen display if the  '-s'  option was specified on the command
  559.     line. 
  560.  
  561.     Named  variables   are     now   supported,   to     extend  storage
  562.     capability.  One variable can be split on a separator into other
  563.     variables. 
  564.  
  565.     Most paged  lists  now    support  paging  backwards  as    well  as
  566.     forwards,  and    can be restarted.  Function keys can be used  in
  567.     paged displays. 
  568.  
  569.     A  set    of  string  functions  has  been  added  to  the  action
  570.     modifiers. 
  571.  
  572.     A sequential file lookup capability is now available. 
  573.  
  574.     The  reference notepad list can now be sequentially read in  the
  575.     same manner as a file. 
  576.  
  577.     A  number  of  files can now be concurrently open for  input  or
  578.     output. 
  579.  
  580.     The notepad list and backtrack list display have been improved. 
  581.  
  582.     Output to the printer and other devices is now supported. 
  583.  
  584.     The default header has been improved. 
  585.  
  586.  
  587.  
  588.  
  589.  
  590.                        1-9             Version 2.5
  591.         
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.     HyperShell          Introduction           Product notes
  600.         
  601.  
  602.  
  603.     The display adaptor type is now automatically sensed. 
  604.  
  605.     A normal text file can now  be    supplied instead of a hyperfile,
  606.     and will be treated as a single (large) frame. 
  607.  
  608.     Also in this release, a new  utility  is provided, which permits
  609.     the  formatted    listing  of  hyperfiles  at  varying degrees  of
  610.     detail, on a plain or Epson compatible printer. 
  611.  
  612.     Demonstration hyperfiles have been modified, where necessary, to
  613.     reduce the likelihood of failure when  the  environment  has not
  614.     been set up correctly. 
  615.  
  616.  
  617.     1.7.2 Bugs fixed in 2.5
  618.  
  619.     HyperShell  does  not  permit  a  search operation to be aborted
  620.     during searching. 
  621.  
  622.     The reference  set up during global searches is not correct, and
  623.     cannot be selected. 
  624.  
  625.     The dynamic menu short menu of directories (@E) did  not work in
  626.     all cases. 
  627.  
  628.     Input fields could not be selected by mapped key. 
  629.  
  630.     Input fields in notes did not work properly. 
  631.  
  632.     The 'next frame' reference  behaves unexpectedly when frames are
  633.     duplicated. 
  634.  
  635.     References over 40 characters cause errors. 
  636.  
  637.     Script lines over 40  characters cause program crash if J action
  638.     used. 
  639.  
  640.     The  last  few lines of a search operation paged display do  not
  641.     show the located line. 
  642.  
  643.     Highlighting schemes  specified  in  frame and note text are not
  644.     retained over a reference. 
  645.  
  646.     HyperShell editor can lose files if current directory not used. 
  647.     Errors can occur also when using TEMP variable. 
  648.  
  649.     HyperShell  editor  edit  mode    can enter an error  state  after
  650.     reference flags are removed. 
  651.  
  652.  
  653.  
  654.  
  655.  
  656.                       1-10             Version 2.5
  657.         
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.     HyperShell          Introduction           Product notes
  666.         
  667.  
  668.  
  669.     A number of minor bugs    exist  in  the    help and action creation
  670.     stages. 
  671.  
  672.     HyperShell checker does not  handle  local  items  referenced in
  673.     global items. 
  674.  
  675.     Errors    exist in the Editor documentation and in  the  shareware
  676.     notice documentation (this document). 
  677.  
  678.  
  679.     1.7.3 Incompatibilities in 2.5
  680.  
  681.     Version 2.5 has a few small incompatibilities with version 2.0.
  682.  
  683.     The  system  variable  '@'  was  previously  used  to  hold  the
  684.     HyperShell  copyright  notice.     It  is now  used  to  hold  the
  685.     available memory. 
  686.  
  687.     Option codes 3,5,8 now have new meanings.  The original meanings
  688.     were not changeable during processing anyway. 
  689.  
  690.     The editor now has  different  mappings  for control keys.  This
  691.     has been done to improve the usability.  Further changes will be
  692.     avoided. 
  693.  
  694.  
  695.     1.7.4 Known problems in 2.5
  696.  
  697.     The  hyperfile    must  not  start with a .SCRIPT, .MENU or  .NOTE
  698.     line,  otherwise   the     first    item  will  not  be  found  when
  699.     referenced.  Put .REMARK  line    at  start  of  file  to overcome
  700.     this. 
  701.  
  702.     If a hyperfile with an index  is  edited,  but    does  not change
  703.     size, the index is not rebuilt.  This does not matter unless you
  704.     change the name or title of a frame, or move an  item  from  one
  705.     location to another.  It  is  good  practice  to delete the .HIX
  706.     file after an edit if the size may not have changed. 
  707.  
  708.     Very long lines can still cause program errors, but these do not
  709.     occur with lines of 80 characters or less. 
  710.  
  711.     The -d flag causes BIOS screen updating rather than direct video
  712.     access.  This should only be used on a non-compatible computer. 
  713.     Small errors occur  with  popup  menus in this case, but as this
  714.     flag is not officially    supported  and    non-compatibles  are not
  715.     officially supported, this problem will  not  be  fixed unless a
  716.     specific request is made for it. 
  717.  
  718.  
  719.  
  720.  
  721.  
  722.                       1-11             Version 2.5
  723.         
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.     HyperShell          Introduction           Product notes
  732.         
  733.  
  734.  
  735.     Setting  the autoreference option in HyperShell when browsing  a
  736.     large hyperfile will cause the screen to be redrawn slowly. 
  737.  
  738.  
  739.  
  740.  
  741.     1.8 Release 2.0
  742.  
  743.  
  744.     1.8.1 Enhancements in 2.0
  745.  
  746.     The major addition in release 2.0 of HyperShell is the hyperfile
  747.     editor.  This has been designed to make the job of creating  and
  748.     maintaining hyperfiles    easier.  It permits interactive browsing
  749.     and editing of a  hyperfile,  using  the  HyperShell interaction
  750.     style.    It includes an advanced editor designed specifically for
  751.     the  HyperShell  environment.    The  editor  works alongside the
  752.     hyperfile  checker  to    provide  a  powerful  set  of    author's
  753.     facilities. 
  754.  
  755.     The  main HyperShell program now supports selectable  references
  756.     in notes,  and supports notes as 'dynamic menus'.  Note that the
  757.     Notepad  dynamic  menu    code 'N' has been replaced with 'R',  to
  758.     allow 'N' and 'n' to be used for notes.  This is the only change
  759.     to influence upward compatibility, and any hyperfiles using this
  760.     type of dynamic menu should  be changed.  A search for '@N' will
  761.     determine if such a menu is being used. 
  762.  
  763.     It is now possible to save the reference 'notepad' to a file, to
  764.     retain    its contents between HyperShell sessions.   Improvements
  765.     have been made to the notepad facilities in support of this. 
  766.  
  767.     The search  capability in HyperShell has been changed to be case
  768.     insensitive.   Whilst  this has slowed down the  search,  it  is
  769.     thought that this is a lot more useful feature. 
  770.  
  771.     The text cursor  positioning  has  been  improved  in  the  main
  772.     HyperShell program. 
  773.  
  774.     A different form of highlighting is  used  for    frame references
  775.     which  do not cause  the  current  frame  to  be  added  to  the
  776.     backtrack list. 
  777.  
  778.     Hercules and MDA machines are now  better  supported through the
  779.     -h switch, providing a separate highlighting scheme. 
  780.  
  781.     The 'type  file'  action  now  overrides  a  previous  file if a
  782.     filename  is provided.    This allows files to contain  references
  783.     causing  other files to be typed.  Another enhancement    supports
  784.     embedded note references in text files. 
  785.  
  786.  
  787.  
  788.                       1-12             Version 2.5
  789.         
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.  
  797.     HyperShell          Introduction           Product notes
  798.         
  799.  
  800.  
  801.     The  HyperShell checker program  has  been  enhanced  to  output
  802.     embedded errors and remarks  in  a form usable by the HyperShell
  803.     editor. 
  804.  
  805.     The HyperShell checker    program now provides an option to create
  806.     a cross reference file showing all explicit cross references. 
  807.  
  808.     The MSDOS sample hyperfile has been extensively improved and now
  809.     provides a useful MSDOS help system. 
  810.  
  811.     The  documentation  set  has   been   restructured   to  improve
  812.     readability, and to include the new features.  The documentation
  813.     has  been revised to improve coverage, and to provide more  help
  814.     for beginners. 
  815.  
  816.  
  817.     1.8.2 Bugs fixed in 2.0
  818.  
  819.     Bugs present in release 1.8, fixed in release  2.0,  include the
  820.     following:-
  821.  
  822.     Direct mouse support does  not    work  correctly,  causing  mouse
  823.     cursor to disappear upon occasion. 
  824.  
  825.     Direct mouse  support  does not reset the mouse driver to permit
  826.     normal use of the mouse after exit. 
  827.  
  828.     First Note/Script/Menu cannot  be  found  if  immediately  after
  829.     another section. 
  830.  
  831.     Use of default title stops certain system  variables  from being
  832.     set. 
  833.  
  834.     Null .HEADER did not suppress default title. 
  835.  
  836.     Section names  can only have one space to separate them from the
  837.     section type.  (Multiple spaces/tabs are now supported). 
  838.  
  839.     Autoreferencing is too fussy about word endings. 
  840.  
  841.     HyperShell  checker  puts  erroneous   remark    before    inserted
  842.     undefined items. 
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854.                       1-13             Version 2.5
  855.         
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.  
  863.     HyperShell          Introduction           Product notes
  864.         
  865.  
  866.  
  867.  
  868.  
  869.  
  870.  
  871.     1.9 System requirements
  872.  
  873.  
  874.     The following are necessary:-
  875.  
  876.     IBM/PC/XT/AT/PS/2 or true  compatible.    Other MSDOS machines may
  877.     work but are not officially supported (try -d flag for these). 
  878.  
  879.     MSDOS 3.0 or later (I haven't tried a previous version)
  880.  
  881.     256k memory
  882.  
  883.     CGA,EGA,VGA,MDA or Hercules display adaptor. 
  884.  
  885.     Preferably Microsoft compatible mouse (although not  essential),
  886.     or other format mouse controlling cursor keys and having buttons
  887.     mapped to RETURN and ESCAPE keys. 
  888.  
  889.     A hard disk is recommended, but only for speed and capacity.  If
  890.     caching is available, floppy drives will be almost as fast.  RAM
  891.     disk is even quicker, but has limited capacity. 
  892.  
  893.     Other hardware and compatible operating systems (e.g. Concurrent
  894.     DOS) are thought to  work satisfactorily, but you are advised to
  895.     try  the  system out before committing to it on other  than  the
  896.     above configurations. 
  897.  
  898.     The HyperShell program occupies about 42k on disk and about 104k
  899.     when resident in memory. 
  900.  
  901.  
  902.  
  903.  
  904.     1.10 Installation
  905.  
  906.  
  907.     The  distribution  disk  contains two archive files.  HSBASE.LZH
  908.     contains   the    runtime  system  and  HSDEV.LZH   contains   the
  909.     development  components  and  documentation.  If you are reading
  910.     this, you have presumably found out how to dearchive the files. 
  911.  
  912.     The HyperShell    runtime  system  can  be  run as it stands.  The
  913.     COMSPEC environment variable must point to a  location where the
  914.     COMMAND.COM program is held,  and  the PATH environment variable
  915.     must be set up to  include  the  drive/directory  containing the
  916.     programs, for the MENU hyperfile and the DOS  EXIT  to work, but
  917.  
  918.  
  919.  
  920.                       1-14             Version 2.5
  921.         
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.  
  929.     HyperShell          Introduction           Product notes
  930.         
  931.  
  932.  
  933.     are not essential to try out HS against a hyperfile directly. 
  934.  
  935.     To install HyperShell for regular use, the .EXE files should  be
  936.     copied into a directory on your program search path. 
  937.  
  938.     e.g.  A> COPY *.EXE C:\BIN
  939.  
  940.     etc... 
  941.  
  942.     The .HYP, .HIX and other supporting  files should be copied into
  943.     a  new directory on the disk, and the pathname of this directory
  944.     should be set up in the HSPATH environment variable as described
  945.     in the HyperShell document.  e.g. 
  946.  
  947.  
  948.     A> MKDIR C:\HYPSHELL
  949.     A> COPY *.H?? C:\HYPSHELL
  950.     A> COPY . . . etc . . .
  951.     A> SET HSPATH=C:\HYPSHELL\
  952.  
  953.     The last line may also be  inserted in your AUTOEXEC.BAT file so
  954.     that it is set up each time you  start    the computer.  When this
  955.     has been done, the programs may be invoked from anywhere. 
  956.  
  957.     e.g.  A> HS -S MSDOS COPY
  958.  
  959.     Write permission is needed  to    the drive only if the notes file
  960.     is  present,  although    if  an    index  file  is  specified in  a
  961.     hyperfile  and it is  not  present  on    the  disk,  it    will  be
  962.     created. 
  963.  
  964.     If  Authoring  is  to  be done using the HyperShell Editor,  the
  965.     development  components need to be extracted in a similar  way. 
  966.     TEMP environment variable may be set up to utilise a RAM disk or
  967.     second drive, to speed    up the processing.  It is not essential,
  968.     however. 
  969.  
  970.     e.g.  A> SET TEMP=D:\
  971.  
  972.  
  973.     1.10.1 The EXP program
  974.  
  975.     The   program  EXP.EXE    replaces  the  previous  EXP  and   SHOW
  976.     programs.   Using the same compression    technique,  CGA  graphic
  977.     images normally  taking  16k  bytes  are  reduced  to  around 4k
  978.     bytes.    The -c option is used with the EXP  program  to  display
  979.     compressed images.  The images are BLOAD  format 16k CGA graphic
  980.     images, compressed using SQ  (supplied)  or  a related program. 
  981.     The image is decompressed and displayed on a CGA screen, the EXP
  982.     program  will then await a key depression  before  returning  to
  983.  
  984.  
  985.  
  986.                       1-15             Version 2.5
  987.         
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.  
  995.     HyperShell          Introduction           Product notes
  996.         
  997.  
  998.  
  999.     text mode.  A sample  file  HS.CGA  is    provided,  and    this  is
  1000.     displayed using the command:-
  1001.  
  1002.     EXP -c HS.CGA
  1003.  
  1004.     The program is intended to provide graphic images  in support of
  1005.     the  text  based  hypertext  files,  and  may  be  used  from  a
  1006.     hyperfile. 
  1007.  
  1008.     A set of screen capture, compression and presentation  utilities
  1009.     will be available in the next release, and extensions to support
  1010.     EGA are under consideration. 
  1011.  
  1012.  
  1013.     1.10.2 Acknowledgments
  1014.  
  1015.     The  HyperShell system was developed using Borland Turbo-C,  and
  1016.     would not have been possible without the many features available
  1017.     therein.  Thanks are due to  Borland  for  making such compilers
  1018.     available  to  the public at a sensible price.    Support Borland,
  1019.     and lets hope that they keep their prices low. 
  1020.  
  1021.     Thanks are due to those users who have    supplied bug reports and
  1022.     the many suggestions for improvements. 
  1023.  
  1024.     Thanks are especially due to all  users  who  have registered so
  1025.     far. 
  1026.  
  1027.  
  1028.  
  1029.  
  1030.     1.11 Shareware notice
  1031.  
  1032.  
  1033.     The following notice relates to the  current  version (2.5), and
  1034.     any preceding versions. 
  1035.  
  1036.     HyperShell is a trademark of Text Technology.
  1037.  
  1038.     The HyperShell system is copyrighted and is the property of Text
  1039.     Technology.
  1040.  
  1041.     HyperShell is a shareware product.  This means the following. 
  1042.  
  1043.     You  are  encouraged to make copies of    the  HyperShell  system,
  1044.     provided this document file is included with all such copies, as
  1045.     a  minimum.   Preferably  the  entire  distribution  should   be
  1046.     copied.   The  system may be offered for download  via    Bulletin
  1047.     Boards,  and  may  be  offered    for  distribution  by  shareware
  1048.     distributors, provided undue overheads are not charged for  such
  1049.  
  1050.  
  1051.  
  1052.                       1-16             Version 2.5
  1053.         
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.  
  1061.     HyperShell          Introduction           Product notes
  1062.         
  1063.  
  1064.  
  1065.     distribution. 
  1066.  
  1067.     Overseas   distributors   can    arrange   with     us   to  handle
  1068.     registration,  and/or  support    in  return  for a percentage  of
  1069.     registration fees. 
  1070.  
  1071.     You are  permitted  to make unlimited use of HyperShell with the
  1072.     hyperfiles  supplied  to  you,     without  further  registration,
  1073.     although a contribution would be  welcome.   If you produce your
  1074.     own hyperfiles for your own use,  and  find  HyperShell  of some
  1075.     use, you are required to register as a HyperShell Author. If you
  1076.     produce hyperfiles for use by others,  either  for use with your
  1077.     own product or as a package in their own right, you are required
  1078.     to register as a Vendor,  on  the  basis  that use of HyperShell
  1079.     adds value  to    your  product,    but  you  are  then  entitled to
  1080.     distribute  the  basic    HyperShell  package,  consisting of  the
  1081.     HyperShell program and User  Guide, as part of your system.  You
  1082.     are  encouraged  to  register if you are using HyperShell as  an
  1083.     author, as you will gain many benefits from this, and we will be
  1084.     encouraged to improve the product.  If you feel that your use of
  1085.     the  system  is only occasional, and is not sufficient to  merit
  1086.     full registration, a donation of any amount will be welcome, and
  1087.     will entitle you to receive update notices. 
  1088.  
  1089.     If HyperShell is to be used by    others    within    an  acedemic  or
  1090.     other  non  profit making establishment, and no charge is to  be
  1091.     levied for the use of the system, a  reduced rate is applicable,
  1092.     subject  to  negotiation.   If    such use is  to  be  made  in  a
  1093.     commercial establishment, the  full  Vendor rate is applicable. 
  1094.     Such  use covers any number of 'end' users within the one  fee. 
  1095.     Corporate licences are available  by  negotiation  at favourable
  1096.     rates. 
  1097.  
  1098.     HyperShell is provided 'AS IS' without    warranty  of  any  kind,
  1099.     either    expressed  or implied, including but not limited to  the
  1100.     implied  warranties  of  merchantability  and    fitness   for  a
  1101.     particular purpose.  In no  event  is any liability accepted for
  1102.     any damages incurred, either directly or indirectly, as a result
  1103.     of using HyperShell.
  1104.  
  1105.     The  hyperfiles  provided may be used, in whole or in  part,  in
  1106.     your own hyperfiles. 
  1107.  
  1108.  
  1109.  
  1110.  
  1111.  
  1112.  
  1113.  
  1114.  
  1115.  
  1116.  
  1117.  
  1118.                       1-17             Version 2.5
  1119.         
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126.  
  1127.     HyperShell          Introduction           Product notes
  1128.         
  1129.  
  1130.  
  1131.  
  1132.  
  1133.  
  1134.  
  1135.     1.12 Registration
  1136.  
  1137.  
  1138.     The  following    scale  of charges are applicable to version  2.5
  1139.     only, and are applicable only until  version  3.0  is released. 
  1140.     Late registrations will be considered on an individual basis. 
  1141.  
  1142.     Author registration - 25 pounds
  1143.  
  1144.     Vendor registration - 60 pounds (no per-copy royalties)
  1145.  
  1146.     Continuation Support - 10 pounds per annum
  1147.  
  1148.     Printed documentation - 10 pounds per copy
  1149.  
  1150.     Latest version disk - 5 pounds (not including registration)
  1151.  
  1152.     Registration entitles you to a registration pack including disks
  1153.     with the current version, a further demonstration hyperfile  and
  1154.     a copy of any other software that has become available, but does
  1155.     not include printed documentation,  which  is  only available at
  1156.     additional cost.  One year of limited support, and a copy of all
  1157.     updates  issued  within  the   year,   is   included   with  the
  1158.     registration.  The support includes postal and telephone support
  1159.     for  problems  of  use and for bug reports.  If you do not  want
  1160.     support  or  updates,  you  may  deduct  10  pounds   from   the
  1161.     registration fee. 
  1162.  
  1163.     Additional support, for instance in the design and production of
  1164.     hyperfiles,  is  chargeable on a time  and  materials  basis  at
  1165.     mutually agreeable rates. 
  1166.  
  1167.     Printed documentation comes as looseleaf A4 for ring binding, or
  1168.     as  a  spiral bound book.  Please state in which form you  would
  1169.     like it, if you order the printed documentation. 
  1170.  
  1171.     The source for the HyperShell components,  which  are written in
  1172.     C, is available at a negotiated price. 
  1173.  
  1174.     Custom    modifications  will  be  charged on a sliding scale from
  1175.     free  for  a  generally  useful  feature  up to  full  time  and
  1176.     materials for a specialist modification. 
  1177.  
  1178.     The above figures apply to registration  in the British Isles in
  1179.     pounds    sterling.   Sorry  we  can't  handle  credit  cards,  so
  1180.     cheques/postal orders only please (or hard cash if you prefer). 
  1181.  
  1182.  
  1183.  
  1184.                       1-18             Version 2.5
  1185.         
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192.  
  1193.     HyperShell          Introduction           Product notes
  1194.         
  1195.  
  1196.  
  1197.     Overseas  customers  please  send an equivalent amount (plus  an
  1198.     additional 5 pounds to cover additional postage if documentation
  1199.     is  required).     However, registration and documentation may  be
  1200.     provided by your local distributor. 
  1201.  
  1202.  
  1203.  
  1204.  
  1205.     1.13 Bug reports
  1206.  
  1207.  
  1208.     Bug  reports and suggestions for improvements are welcomed  from
  1209.     all users, including unregistered users evaluating the product. 
  1210.     Important,  previously    unreported,  bugs  will be rewarded with
  1211.     cash or credit against registrations or other services. 
  1212.  
  1213.     All  bug  reports  and problems from registered  users    will  be
  1214.     responded  to.     All problems should be posted to  the    provided
  1215.     address.   Full  details  of problems should be included,  along
  1216.     with any related hyperfile  if    this  would  be of assistance in
  1217.     solving  a  problem.   Bug  reports  should  indicate  the  full
  1218.     circumstances  of  the bug, including the machine type,  monitor
  1219.     type,  the  version of HyperShell, the memory size, the size  of
  1220.     hyperfiles being accessed and the size of any lists being held. 
  1221.  
  1222.  
  1223.  
  1224.  
  1225.     1.14 Hyperfile register
  1226.  
  1227.  
  1228.     If you produce    hyperfiles for use by others, we can provide two
  1229.     alternative services.  We  can    either distribute the hyperfiles
  1230.     for you as shareware, in which case we charge a small commission
  1231.     to  cover the handling, or we will add details of your available
  1232.     hyperfiles  to    a  register,  which  will  be  distributed  with
  1233.     HyperShell releases, so that people can  get  in  touch with you
  1234.     for a copy of your hyperfile. 
  1235.  
  1236.     If you produce    a  'shareware'    hyperfile,  we can distribute it
  1237.     with each HyperShell release.  We will also test each  hyperfile
  1238.     we hold when a new release is produced. 
  1239.  
  1240.     We will advise on whether a hyperfile is saleable,  and  how  to
  1241.     'productise'  a hyperfile, if you send a copy to us.   Potential
  1242.     hyperfiles  include  tuition  systems, adventure systems, a full
  1243.     scale browser (possibly based on the 'browser' hyperfile), and a
  1244.     system to generate menus based on HyperShell.
  1245.  
  1246.  
  1247.  
  1248.  
  1249.  
  1250.                       1-19             Version 2.5
  1251.         
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.  
  1259.     HyperShell          Introduction           Product notes
  1260.         
  1261.  
  1262.  
  1263.  
  1264.  
  1265.  
  1266.  
  1267.     1.15 Registration address
  1268.  
  1269.  
  1270.     The  following    address should    be  used  for  registration  and
  1271.     support:-
  1272.  
  1273.         
  1274.  
  1275.  
  1276.          Nick Taylor
  1277.          66 Kennedy Avenue
  1278.          Macclesfield
  1279.          Cheshire
  1280.          England
  1281.          SK10 3DE
  1282.  
  1283.     Cheques should be made payable to N.G.Taylor.
  1284.  
  1285.     Please state which version you have.  Also it would be useful if
  1286.     you could give an indication of what type of application you are
  1287.     using HyperShell for. 
  1288.  
  1289.  
  1290.  
  1291.  
  1292.     1.16 Next release
  1293.  
  1294.  
  1295.     The next release of HyperShell will  be  a  bit bigger.  This is
  1296.     because  it  is envisaged that a number of  powerful  extensions
  1297.     will be added.    Those of you who register can have a say in what
  1298.     features should go into the next release.   Please indicate when
  1299.     you register which  of    the  following features you would like. 
  1300.     Also indicate any other feature that you feel would be useful. 
  1301.  
  1302.     Extensions to the range  of  styles of menu and notes available,
  1303.     including shadow edges. 
  1304.  
  1305.     Full menu bars with help lines. 
  1306.  
  1307.     Horizontal menus. 
  1308.  
  1309.     Stacked popups and movable popups. 
  1310.  
  1311.     Extended  autoreferencing,  including  notes,  menus,    scripts,
  1312.     note/text   file   directory   listings  and  user   specifiable
  1313.  
  1314.  
  1315.  
  1316.                       1-20             Version 2.5
  1317.         
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324.  
  1325.     HyperShell          Introduction           Product notes
  1326.         
  1327.  
  1328.  
  1329.     autoreference lists. 
  1330.  
  1331.     Extended script facilities, including control structures. 
  1332.  
  1333.     Full database forms supporting relational databases and query by
  1334.     example. 
  1335.  
  1336.     Utility for program code generation from hyperfile, allowing use
  1337.     of HyperShell as a fourth generation language. 
  1338.  
  1339.     Graphic display support  for  CGA  and EGA adaptors, from within
  1340.     HyperShell, with selection areas on graphic displays. 
  1341.  
  1342.     Terminate and Stay Resident capability. 
  1343.  
  1344.     Automatic  reentry  at    same place after chained execution  from
  1345.     menu,  allowing  use  as  full    menu system  running  full  size
  1346.     programs. 
  1347.  
  1348.     The main HyperShell browser will be  carefully planned such that
  1349.     the  additional facilities will not impact too strongly  on  the
  1350.     static and resident size of the program, with an envisaged total
  1351.     image size of 48k.
  1352.  
  1353.     Other products are in the  pipeline,  including a textfile based
  1354.     database with query language and relational features and further
  1355.     text  file  based systems.  Those  who    register  in  1989  will
  1356.     automatically qualify  for free registration of future products,
  1357.     when these become available. 
  1358.  
  1359.  
  1360.  
  1361.  
  1362.     1.17 Post Scriptum
  1363.  
  1364.  
  1365.     If you evaluate  HyperShell  and  find    it  unsuitable    for your
  1366.     requirements, please consider sending  a  copy of any evaluation
  1367.     report to us. 
  1368.  
  1369.     We hope you will find HyperShell of use.   Please don't hesitate
  1370.     to send suggestions for  improvements,    bug  reports  etc.  Good
  1371.     luck. 
  1372.  
  1373.     - END OF DOCUMENT -
  1374.  
  1375.  
  1376.  
  1377.  
  1378.  
  1379.  
  1380.  
  1381.  
  1382.                       1-21             Version 2.5
  1383.         
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390.  
  1391.     HyperShell          Introduction           Product notes
  1392.         
  1393.  
  1394.  
  1395.  
  1396.  
  1397.  
  1398.  
  1399.                Table of Contents
  1400.  
  1401.  
  1402.     Chapter 1 Introduction                       2
  1403.  
  1404.        1.1 Product description                   2
  1405.        1.2 Hypertext                       2
  1406.        1.3 HyperShell                       4
  1407.        1.4 Features                        5
  1408.        1.5 Potential uses                       7
  1409.        1.6 Design aims                       7
  1410.        1.7 Release 2.5                       8
  1411.  
  1412.           1.7.1 Enhancements                   8
  1413.           1.7.2 Bugs fixed in 2.5                   10
  1414.           1.7.3 Incompatibilities in 2.5               11
  1415.           1.7.4 Known problems in 2.5               11
  1416.  
  1417.        1.8 Release 2.0                       12
  1418.  
  1419.           1.8.1 Enhancements in 2.0                12
  1420.           1.8.2 Bugs fixed in 2.0                   13
  1421.  
  1422.        1.9 System requirements                   14
  1423.        1.10 Installation                       14
  1424.  
  1425.           1.10.1 The EXP program                   15
  1426.           1.10.2 Acknowledgments                   16
  1427.  
  1428.        1.11 Shareware notice                   16
  1429.        1.12 Registration                       18
  1430.        1.13 Bug reports                       19
  1431.        1.14 Hyperfile register                   19
  1432.        1.15 Registration address                   20
  1433.        1.16 Next release                       20
  1434.        1.17 Post Scriptum                       21
  1435.  
  1436.  
  1437.  
  1438.  
  1439.  
  1440.  
  1441.  
  1442.  
  1443.  
  1444.  
  1445.  
  1446.  
  1447.  
  1448.                       1-22             Version 2.5
  1449.         
  1450.  
  1451.  
  1452.  
  1453.  
  1454.